const config = {
  extends: ['@commitlint/config-conventional'],
  parserPreset: 'conventional-changelog-conventionalcommits',
  formatter: '@commitlint/format',
  prompt: {
    settings: {},
    messages: {
      skip: ':跳过',
      max: '最多 %d 个字符',
      min: '至少 %d 个字符',
      emptyWarning: '不能为空',
      upperLimitWarning: '超出限制',
      lowerLimitWarning: '低于限制'
    },
    questions: {
      type: {
        description: "选择你要提交的变更类型：",
        enum: {
          feat: {
            description: '新增功能',
            title: '功能',
            emoji: '✨',
          },
          fix: {
            description: '修复 Bug',
            title: 'Bug 修复',
            emoji: '🐛',
          },
          docs: {
            description: '仅文档更改',
            title: '文档',
            emoji: '📚',
          },
          style: {
            description: '不影响代码意义的更改（空格、格式、缺少分号等）',
            title: '样式',
            emoji: '💎',
          },
          refactor: {
            description: '既不修复 Bug 也不添加功能的代码更改',
            title: '代码重构',
            emoji: '📦',
          },
          perf: {
            description: '提高性能的代码更改',
            title: '性能提升',
            emoji: '🚀',
          },
          test: {
            description: '添加缺失的测试或修正现有测试',
            title: '测试',
            emoji: '🚨',
          },
          build: {
            description: '影响构建系统或外部依赖的更改（例如：gulp, broccoli, npm）',
            title: '构建',
            emoji: '🛠',
          },
          ci: {
            description: 'CI 配置文件和脚本的更改（例如：Travis, Circle, BrowserStack, SauceLabs）',
            title: '持续集成',
            emoji: '⚙️',
          },
          chore: {
            description: "不影响源码或测试文件的其他更改",
            title: '杂务',
            emoji: '♻️',
          },
          revert: {
            description: '回退之前的提交',
            title: '回退',
            emoji: '🗑',
          },
        },
      },
      scope: {
        description: '这次变更的影响范围（例如：组件名或文件名）',
      },
      subject: {
        description: '简短、命令式的变更描述',
      },
      body: {
        description: '提供更详细的变更描述',
      },
      isBreaking: {
        description: '是否有任何破坏性更改？',
      },
      breakingBody: {
        description: '破坏性更改需要提供详细描述，请输入更长的变更描述',
      },
      breaking: {
        description: '描述破坏性更改',
      },
      isIssueAffected: {
        description: '这是否影响任何开放的问题？',
      },
      issuesBody: {
        description: '如果关闭了问题，提交需要提供详细描述，请输入更长的变更描述',
      },
      issues: {
        description: '添加问题引用（例如："fix #123", "re #123"）',
      },
    },
  }
};

export default config;
